package cn.iocoder.yudao.module.resource.api;

import cn.iocoder.yudao.module.resource.api.enums.MessageSourceTypeEnum;
import cn.iocoder.yudao.module.resource.api.model.message.AudioDataDTO;
import cn.iocoder.yudao.module.resource.api.model.messagecollection.MessageCollectionResDTO;

import java.util.List;
import java.util.Map;

public interface IMessageCollectionApi {

    Map<String, List<? extends Number>> getVectorValues(String userText, String replyText);

    MessageCollectionResDTO queryMessage(Float similarity, int topK,
                                         String userText, String replyText);

    void insertMessage(Integer toneId, MessageSourceTypeEnum messageSendType,
                       String messageId, List<AudioDataDTO> audioDataList,
                       String userText, String replyText,
                       Map<String, List<? extends Number>> vectorValues);

    void updateMessage(Integer toneId, MessageSourceTypeEnum messageSendType,
                       String messageId, List<AudioDataDTO> audioDataList,
                       String userText, String replyText,
                       Map<String, List<? extends Number>> vectorValues);


    void deleteMessage(String messageId);
}
